$(function () {
  var car_datagrid = $("#car_datagrid");
  var car_dialog = $("#car_dialog");
  var car_form = $("#car_form");
  car_datagrid.datagrid({
    url: "/car/query.do",
    fitColumns: true,
    fit: true,
    toolbar: "#car_toolbar",
    striped: true,
    rownumbers: true,
    singleSelect: true,
    pagination: true,
    columns: [
      [
        {field: 'id'},
        {field: 'owner', title: '车主姓名', width: 80},
        {field: 'brand', title: '车辆品牌', width: 80},
        {field: 'productName', title: '车辆型号', width: 80},
        {field: 'carNum', title: '车牌号码', width: 80},
        {field: 'displacement', title: '排气量', width: 80},
        {field: 'purchaseDate', title: '购买日期', width: 80},
        {field: 'evaluation', title: '市场估价', width: 80},
        {
          field: 'type', title: '车辆分类', width: 80, formatter: function (value) {
            return value ==  "载物" ? "<font color='red'>载物</font>" : "载客";
          }
        },
        {field: 'size', title: '车载大小', width: 80},
        {field: 'info', title: '备注信息', width: 80},
      ]]
  });
  car_dialog.dialog({
    draggable: 'true',
    width: 300,
    height: 385,
    buttons: "#form_btns",
    closed: "true",
    onClose: function () {
      //清空表单数据
      car_form.form('clear');
    }
  })

  //使用一个对象统一管理事件的方法
  var methodObj = {
    /*查询*/
    query: function () {
      //获取查询条件的值
      var value = $("#keyword").textbox('getValue');

      car_datagrid.datagrid('load', {
        keyword: value
      })
    },
    /*刷新功能*/
    refresh:function () {
      car_datagrid.datagrid('reload')
    }
    /*,
    /!*新增按钮*!/
    add: function () {
      //打开弹出框
      car_dialog.dialog('open');
      //设置标题
      car_dialog.dialog('setTitle', '新增车辆信息');
    },
    /!*编辑按钮*!/
    edit: function () {
      //判断是否选中数据
      var row = car_datagrid.datagrid('getSelected');
      if (!row) {
        //提示选择
        $.messager.alert('温馨提示', '请选择一条数据!', 'warning');
        return;
      }
      //回显表单数据(根据同名匹配的原则,row对象中的属性名要与form中的name相同才可以回显)
      car_form.form('load', row);
      //打开弹出框
      car_dialog.dialog('open');
      //设置标题
      car_dialog.dialog('setTitle', '编辑车辆信息');
    },
    changeCooperation: function () {
      //判断是否选中数据
      var row = car_datagrid.datagrid('getSelected');
      if (!row) {
        //提示选中
        $.messager.alert('温馨提示', '请选择一条数据!', 'warning');
        return;
      }
      //弹出确认框
      $.messager.confirm('确认', '您确认想要设置为解除合作吗？', function (r) {
        if (r) {
          //发送请求到后台
          $.get("/car/changeCooperation.do", {id: row.id}, function (data) {
            if (data.success) {
              $.messager.alert('温馨提示', '操作成功!', 'info', function () {
                car_datagrid.datagrid('reload');
              });
            } else {
              $.messager.alert('温馨提示', data.msg, 'error');
            }
          })
        }
      });
    },
    /!*保存按钮*!/
    save: function () {
      //提交表单
      car_form.form('submit', {
        url: '/car/saveOrUpdate.do',
        success: function (data) {
          //转换为json对象
          data = $.parseJSON(data);
          if (data.success) {
            //提示机构操作结果
            $.messager.alert('温馨提示', '保存成功!', 'info', function () {
              //关闭弹出框
              methodObj.cancel();
              //让datagrid重新查询机构数据
              car_datagrid.datagrid('reload');
            });
          } else {
            $.messager.alert('温馨提示', data.msg, 'error');
          }
        }
      });
    },
    /!*取消按钮*!/
    cancel: function () {
      //关闭弹出框
      car_dialog.dialog('close');
    }*/
  }

  //统一绑定事件
  $("a[data-cmd]").click(function () {
    var methodName = $(this).data("cmd");
    methodObj[methodName]();
  });
});